package isva;

import com.google.inject.AbstractModule;
import isva.impl.api.PromotionServiceIsvA;
import isva.impl.model.PromotionIsvA;
import isva.module.MemberProvider;
import isva.module.OrderLineProvider;
import isva.module.OrderProvider;
import isva.module.SkuProvider;
import org.dormi.learn.promotion.api.PromotionService;
import org.dormi.learn.promotion.model.Member;
import org.dormi.learn.promotion.model.Order;
import org.dormi.learn.promotion.model.OrderLine;
import org.dormi.learn.promotion.model.Promotion;
import org.dormi.learn.promotion.model.Sku;

/**
 * add description here
 *
 * @author : dormi330
 * @version : 1.0
 */
public class IsvAModule extends AbstractModule {

    @Override
    protected void configure() {
        super.configure();
        bind(Member.class).toProvider(MemberProvider.class);
        bind(Sku.class).toProvider(SkuProvider.class);
        bind(OrderLine.class).toProvider(OrderLineProvider.class);
        bind(Order.class).toProvider(OrderProvider.class);
        bind(Promotion.class).to(PromotionIsvA.class);
        bind(PromotionService.class).to(PromotionServiceIsvA.class);
    }

}
